package com.candy.control;

import com.candy.bean.UserInfo;
import com.candy.service.UserinfoService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@Api("用户信息管理")
@RestController
@RequestMapping("/userinfo")
public class UserInfoController {
    @Autowired
    UserinfoService userinfoService;
    /**
     * 接收get请求查询获取全部未删除的信息；进行分页处理
     * @param
     * @return
     */
    @GetMapping("/getallinfoes")
    public PageInfo<UserInfo> getAllInfoes(Integer pageNum,Integer pageSize,UserInfo userInfo){

        PageHelper.startPage(pageNum,pageSize);

//        pageHelper.startPage下面的第一个查询会进行分页处理
        List<UserInfo> lst=userinfoService.getAllInfoes(userInfo);
        PageInfo<UserInfo> pageInfo=new PageInfo<>(lst);
        System.out.println("pagehelper:::::::::::::::::::");
        System.out.println("total:"+pageInfo.getTotal());
        System.out.println("size:"+pageInfo.getSize());
        System.out.println("list:"+pageInfo.getList());
        System.out.println("pageInfo:"+pageInfo);
        return pageInfo;
    }

//    /**
//     * 接收post请求查询获取全部未删除的信息；进行分页处理
//     * @param map
//     * @return
//     */
//    @PostMapping("/getallinfoes")
//    public PageInfo<UserInfo> getAllInfoes(@RequestBody Map<String,Object> map){
//        Integer pageNum=(Integer) map.get("pageNum");
//        Integer pageSize=(Integer) map.get("pageSize");
//       Map<String,Object> user=(Map<String,Object>) map.get("userInfo");
//        UserInfo userinfo=new UserInfo();
//        userinfo.setUsername((String)user.get("username"));
//        userinfo.setUsername((String)user.get("userpwd"));
//        userinfo.setUsername((String)user.get("useraddress"));
//        userinfo.setUsername((String)user.get("usertel"));
//
//        PageHelper.startPage(pageNum,pageSize);
//
////        pageHelper.startPage下面的第一个查询会进行分页处理
//        List<UserInfo> lst=userinfoService.getAllInfoes(userinfo);
//        PageInfo<UserInfo> pageInfo=new PageInfo<>(lst);
//        System.out.println("pagehelper:::::::::::::::::::");
//        System.out.println("total:"+pageInfo.getTotal());
//        System.out.println("size:"+pageInfo.getSize());
//        System.out.println("list:"+pageInfo.getList());
//        System.out.println("pageInfo:"+pageInfo);
//        return pageInfo;
//    }

    /**
     * 新增或编辑方法；影响行数大于0；数据更新成功返回ok；反之返回eg
     * @param userInfo
     * @return
     */
    @RequestMapping("/addorupdateuser")
    public String addOrUpdateUser(@RequestBody  UserInfo userInfo){
        Integer num=userinfoService.addOrUpdateUser(userInfo);
        try {
            if(num>0){
                return "ok";
            }else {
                return "eg";
            }
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }

    }

    /**
     * 删除方法；影响行数大于0；数据更新成功返回ok；反之返回eg
     * @param userInfo
     * @return
     */
    @RequestMapping("/deleteuser")
    public String deleteUser(@RequestBody  UserInfo userInfo){
        Integer num=userinfoService.deleteUser(userInfo);
        if(num>0){
            return "ok";
        }else {
            return "eg";
        }

    }


}
